package com.leyou.item.service;

import com.leyou.item.dto.CategoryDTO;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * Created by IntelliJ IDEA.
 *
 * @author: wangzibeng
 * Date: 2019/4/28 0028
 * Time: 12:48
 */

@Transactional
public interface CategoryService {

    /**
     * 根据父ID查询对应的类目集合
     *
     * @param pid
     * @return
     */
    List<CategoryDTO> queryCategoryByPid(Long pid);


    /**
     * 新增Category 返回id即可
     *
     * @param categoryDTO 接收的CategoryDto对象
     * @return
     */
    Long addCategory(CategoryDTO categoryDTO);

    /**
     * 根据id 删除category
     *
     * @param id
     * @return
     */
    void deleteCategory(Long id);

    /**
     * 编辑分类category 通过id
     *
     * @param id
     * @param name
     */
    void editCategoryById(Long id, String name);

    /**
     * 根据品牌信息查询商品分类
     *
     * @param id
     * @return
     */
    List<CategoryDTO> getCategoryByBrand(Long id);

    /**
     * 根据分类id的集合查询商品分类
     *
     * @param IdList
     * @return
     */
    List<CategoryDTO> queryCategoryByIds(List<Long> IdList);

    /**
     * 根据三级分类的Id查询123级分类对象
     *
     * @param cid3 三级category的id
     * @return 123级分类对象的集合
     */
    List<CategoryDTO> queryCategoryByCid3(Long cid3);
}
